/*
Copyright (c) 2025 HeZongLun
NahidaProject is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan
PSL v2.
You may obtain a copy of Mulan PSL v2 at:
         http://license.coscl.org.cn/MulanPSL2
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details.
*/

#include "INIWriter.h"

void NahidaProject::INIWriter::SetFileValue(const std::string& section, const std::string& key, const std::string& value) {
	config[section][key] = value;
}

bool NahidaProject::INIWriter::WriteINIFile(const std::string& filename) {
	std::ofstream file(filename);
	if (!file.is_open()) {
		std::cerr << "Unable to open file: " << filename << std::endl;
		return false;
	}

	for (const auto& section : config) {
		file << "[" << section.first << "]" << std::endl;
		for (const auto& kv : section.second) {
			file << kv.first << "=" << kv.second << std::endl;
		}
	}

	file.close();
	return true;
}